/**
 * 
 */
package puzzle.sudoku.view.swing;

import puzzle.common.loader.AbstractLoader;
import puzzle.common.loader.AbstractProblemDictionary;
import puzzle.common.solver.AbstractSolver;
import puzzle.common.view.swing.AbstractPuzzleViewPanel;
import puzzle.common.view.swing.PuzzleSolverAppMetadata;
import puzzle.sudoku.data.SudokuBoard;
import puzzle.sudoku.loader.SudokuLoader;
import puzzle.sudoku.problem.SudokuProblemDictionary;
import puzzle.sudoku.solver.SudokuSolver;

public class SudokuSolverAppMetadata implements PuzzleSolverAppMetadata<SudokuBoard> {
	public AbstractProblemDictionary createBuiltinProblemDictionary() {
		 return new SudokuProblemDictionary();
	}

	public AbstractLoader<SudokuBoard> createLoader() {
		return new SudokuLoader();
	}

	public AbstractPuzzleViewPanel<SudokuBoard> createPuzzleViewPanel() {
		return new SudokuViewPanel();
	}

	public AbstractSolver<SudokuBoard, ?, ?> createSolver() {
		return new SudokuSolver();
	}

	public String getTitle() {
		return "Sudoku Solver 1.0";
	}
}
